其他
VBA批量修改EXCEL底稿页宽后打印
上文中,思源君讲到了利用VBA批量打印Excel审计底稿的所有SHEET,在打印之前需要提前设置好每个Sheet的打印格式。实务中,我们最经常碰到的格式问题是底稿打印页宽超过一页,比如往来明细表因为插入某几列,导致打印页宽由1页变为2页,如果行数很多,有N页高的话,则会多浪费N张纸,而且打印出的2N页底稿都是不完整的,着实可惜,因此有必要在批量打印前把所有底稿统一设置为1页宽,而这同样可以通过VBA代码来实现(具体利用EXCEL设置使用VBA代码过程可参加上一篇文章截图教程),思源君在上一篇文章的代码上进行了修改,以实现批量修改EXCEL底稿页宽为1页,页高为自动调整后再进行批量打印的功能,代码如下:
Sub 调整页宽后批量打印()
Dim iPath$, iName$, Wb As Workbook
Dim i
iPath = ThisWorkbook.Path & "\"
iName = Dir(iPath & "*.xls*")
On Error Resume Next
Do While iName <> ""
If iName <> ThisWorkbook.Name Then
Set Wb = Workbooks.Open(iPath & iName)
Dim oWK As Worksheet
For Each oWK In Wb.Worksheets
With oWK.PageSetup
'缩放要调整为False,FitToPagesWide和FitToPagesTall才会生效
.Zoom = False
'调整为1页宽
.FitToPagesWide = 1
'设置为False,将自动调整为N页高
.FitToPagesTall = False
End With
Next
Excel.Application.ScreenUpdating = True
Excel.Application.Calculation = xlCalculationAutomatic
Wb.Save
'批量打印
For i = 1 To Wb.Worksheets.Count
Wb.Worksheets(i).PrintOut
Next
Wb.Close False
End If
iName = Dir
Loop
End Sub
延伸阅读:
感谢您阅读“思源审计”,如有点滴收获,请点击下方链接关注